From: Matthias Clasen Date: Sun, 30 Apr 2023 15:55:17 +0000 (-0400) Subject: emojichooser: Avoid extraneous variation selectors X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~59^2^2~329^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c1fc6c35cf329b595801d9a6d9ccb1f5821ec6a9;p=gtk4.git emojichooser: Avoid extraneous variation selectors Only add a variation selector if there isn't one already. --- diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c index 9288e7342d..d25c4f6c65 100644 --- a/gtk/gtkemojichooser.c +++ b/gtk/gtkemojichooser.c @@ -563,12 +563,11 @@ add_emoji (GtkWidget *box, int i; PangoLayout *layout; PangoRectangle rect; + gunichar code = 0; codes = g_variant_get_child_value (item, 0); for (i = 0; i < g_variant_n_children (codes); i++) { - gunichar code; - g_variant_get_child (codes, i, "u", &code); if (code == 0) code = modifier; @@ -576,7 +575,10 @@ add_emoji (GtkWidget *box, p += g_unichar_to_utf8 (code, p); } g_variant_unref (codes); - p += g_unichar_to_utf8 (0xFE0F, p); /* U+FE0F is the Emoji variation selector */ + + if (code != 0xFE0F && code != 0xFE0E) + p += g_unichar_to_utf8 (0xFE0F, p); /* Append a variation selector, if there isn't one already */ + p[0] = 0; label = gtk_label_new (text);